//import './assets/main.css'

import { createApp } from "vue";
import { createPinia } from "pinia";
import App from "./App.vue";
import router from "./router";
import ElementPlus, { dayjs } from "element-plus";
import "element-plus/dist/index.css";
import zhCn from "element-plus/es/locale/lang/zh-cn";
import axios from "axios";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
import { useCounterStore } from "./stores/counter";
axios.defaults.baseURL = "http://localhost:5017";
//#region  关于拦截
// 添加请求拦截器
axios.interceptors.request.use(
  function (config) {
    const Tokens = useCounterStore(pinia); //持久化存储的Token返回值
    // 在发送请求之前做些什么
    config.headers.Authorization = "Bearer " + Tokens.UserInfo.AccountToken; //请求头放入登录时返回的Token
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);
// //#region 添加响应拦截器
// axios.interceptors.response.use(
//   function (response) {
//     //请求响应正确的状态码时
//     return response;
//   },
//   function (error) {
//     //请求响应错误的状态码时
//     if (error.response) {
//       const Tokens = useCounterStore(pinia); //持久化存储的Token返回值
//       // 获取原始请求配置
//       const originalRequest = error.config;
//       if (error.response.status == 401 && !originalRequest._retry) {
//         // 标记此请求已重试
//         originalRequest._retry = true;
//         //dayjs().format("YYYY-MM-DD HH:mm:ss"), //本地当前时间
//         axios
//           .get("/api/Goods/NewToken", {
//             params: {
//               OldToken: Tokens.UserInfo.LongToken,
//             },
//           })
//           .then((res) => {
//             Tokens.UserInfo.AccountToken = res.data.Data; //更换新的Token
//           });
//       }
//     }
//     return Promise.reject(error);
//   }
// );


// //#endregion
// // 添加响应拦截器

const app = createApp(App);
const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);
app.use(ElementPlus, {
  locale: zhCn,
});
app.use(pinia);
app.use(router);

app.mount("#app");
